Configuration parameters are often associated with a specific function that is required to be managed outside the scope of compiled software binary programs. The software that is programmed into a device and more particularly programmed into its Non-Volatile Random Access Memory (NVRAM), for example, an electronic component as part of a portable wireless communications device, sometimes must be upgraded or changed. The NVRAM is a computer memory chip that does not lose its information when power is turned-off. It is often used in electronic devices to store settings that must survive a power cycle. Typically, the NVRAM is formed as a flash memory and often used in portable electronic devices, for example, a portable wireless communications device.
There are several problems in managing this data in these types of applications. For example, there could be no mechanism to override configuration parameters when updating an Operating System (OS), for example, an Over-The-Air (OTA) firmware update. Also, updating configuration parameters is sometimes problematic because there may be no current or standard descriptive metadata for each set of data, as it is difficult manage different data sets with the same processes. There may also be a limited mechanism for managing schema versions for the data sets because any particular data may not be supported by the operating system and thus, it may be difficult to load that data onto the electronic device, such as its NVRAM. It is desirable if some type of versioning mechanism would permit future OS upgrades and override configuration parameters in the NVRAM for some type of new data in the OS binary data base with a standard set of descriptive metadata. Typically, metadata is “data about data” and relates to information or data that describes another set of data. When directed to a higher hierarchical arrangement, it is also termed “schema.” Metadata can also be used to describe a single set of data as a resource. There could be some data formatting, but it may not have any system for managing it for use in the operating system.